home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Workbench Design
/
WB Collection.iso
/
workbench werkzeuge
/
clipboard
/
clipboardenhancer
/
cbe.guide
(
.txt
)
< prev
next >
Wrap
Amigaguide Document
|
1996-04-07
|
58KB
|
959 lines
@database CBE.guide
@master Nestl
:SC/Prg/CBE/ClipBoardEnhancer/CBE.guide
@$VER: CBE 4.01 (10.7.95)
@author "Anthony J. Moringello"
@(c) "Copyright
1995 Anthony J. Moringello"
@remark Created with Heddley v1.1 (c) Edd Dumbill 1994
@node "Main" "Clip Board Enhancer
1995 by Anthony J. Moringello"
@{b}Clip Board Enhancer V 4.01
by Anthony J Moringello@{ub}
@{" Introduction " link "Introduction" 0} | Please be sure to read the Revision
@{" Important " link "Important" 0} | History and WeirdThings/Bugs before
@{" System Requirements " link "Requirements" 0} | writing to me if you have any questions
@{" Installation " link "Installation" 0} | or problems. It would be best if you
@{" Using CBE " link "Usage" 0} | were to read all the documentation
@{" ToolTypes " link "ToolTypes" 0} | even if you have a previous version
@{" Menu Items " link "MENU" 0} | of CBE since many changes may have
@{" ARexx Commands " link "ARexx" 0} | been made since the previous
@{" Reserved Keys " link "ReservedKeys" 0} | public release. Almost all known
@{" Weird things/Bug List " link "Weird" 0} | problems/quirks are covered in
@{" Thanks " link "Thanks" 0} | the documentation.
@{" To Do list " link "To Do" 0}
@{" About the Author " link "About the Author" 0}
@{" Registering " link "Register" 0}
@{" Revision History " link "Revisions" 0}
@endnode
@node "Introduction" "Introduction:"
@{b}ClipBoard Enhancer@{ub}
ClipBoard Enhancer (a.k.a. CBE) is a commodity that enhances the way that the
Amiga clipboard works. The clipboard (as I am sure most of you already know) is
a device that allows programs to copy data from one application, and allow the
user to paste that data back either to the same application or even to other
applications that are capable of using the clipboard.
The Amiga has 256 such units, unfortunately almost all programs only use one
unit. This I thought seemed a waste of quite a powerful system feature.
Another problem comes in when you cut/copy a second time, since the previous
data is lost, the only way to paste that same information back is to find where
you got it from, and recopy/cut again. This of course is not always possible.
Well worry no longer for CBE is here. CBE keeps track of every piece of data
that has been sent to the clipboard, and allows you to select any previous item,
and paste it back. CBE's concept works similarly to another review buffer you
are probably quite familiar with . . . what else but the CLI or Shell.
PLEASE be sure to read the Revision History, and Weird Things/Bugs if you have
any questions or problems BEFORE writing to me. It is best to read ALL of the
documentation even if you have a previous version of CBE since many changes may
have been made since the last public release.
@{fg highlight} Please read these docs to find what all has changed so as to eliminate possible
problems. At the VERY LEAST, read the @{"Revision History" link "Revisions" 0}, to see what has been
changed.
@endnode
@node "Important" "Important Information:"
@{b}Important Information@{ub}
THIS SOFTWARE IS PROVIDED AS-IS, WITHOUT WARRANTY EITHER EXPRESSED OR IMPLIED.
IN NO EVENT WILL THE AUTHOR BE LIABLE FOR DIRECT, INDIRECT, INCIDENTAL OR
CONSEQUENTIAL DAMAGES OR LOSS OF DATA RESULTING FROM THE USE OF THIS SOFTWARE.
THE RISK AS TO RESULTS AND PERFORMANCE OF THIS SOFTWARE IS ASSUMED ENTIRELY BY
THE USER.
CBE is shareware, so if you find it useful, and use it regularly, I ask that
you @{"register" link "Register" 0} CBE for $5.00-$15.00 (U.S. or even equivalent in your own
currency). If you really cannot afford the registration fee, you may send me a
registered version of a program you wrote that you feel is comparable in worth
to CBE. Hard drives, A4000's, or a nice 20" monitor will also be accepted
without question.
CBE is a bit larger now, but this is good. (At least for those who register)
When you register CBE, I will send you a @{"keyfile" link "KeyFile" 0} that holds vital information
that allows CBE to function fully. This allows you to download CBE from AmiNet
or your local BBS, and always have a fully registered copy of the latest version
of CBE without ever contacting me each time you want a new release!
Thanks for the many people who requested a key file.
You will find my @{"address" link "About the Author" 0} at the end of this documentation.
@endnode
@node "KeyFile" "Using the Key File"
@{b}Using the KeyFile@{ub}
The advantage of this keyfile now is that if you register, you may always get
the latest version of CBE just by simply downloading the latest unregistered
version from AmiNet or your local BBS. With the Key file, CBE will have the
information needed to be a fully functional registered version.
You may place your KeyFile anywhere you like. I have found that people have
differing views on where such files should be located, so it's your choice.
The L: or S: directories seem to be the most popular, but few can agree on
which is best. You decide. All you need to do is set the @{"KEY_NAME" link "Tooltypes" 25} tooltype
to get CBE to find it.
CBE should behave itself if the KeyFile gets corrupted, deleted, or is not
actually a keyfile, and will function as it would if unregistered, if any of
these things should occur.
If you get an "Keyfile Error" requester, this is most likely due to the wrong
filename being given for KEY_NAME tooltype. It may also occur if your keyfile
somehow became corrupted.
-------------------------------------------------------------------------------
Do not try to create the keyfile yourself. The keyfile contains important
information and functions for CBE to function fully. It also contains the
registered users name.
@{b}@{fg highlight} I TAKE NO RESPONSIBILITY FOR THE RESULTS IF ANYONE FEELS THEY WANT TO TRY TO
HACK THEIR WAY INTO MAKING CBE WORK WITHOUT A LEGAL KEYFILE.@{ub}@{fg text}
@endnode
@node "Requirements" "System Requirements"
@{b}System Requirements@{ub}
Any Amiga computer with KS2.04 or above.
CBE is KS3.0 aware and will use some it's special features if possible.
MultiView with datatypes.
Although not required this is the default.
(Read @{"Tool Types" link "ToolTypes" 0} for more information).
CBE will work with any program that uses Clipboard Unit 0.
@{"ARexx" link "AREXX" 0} must be installed and running to use the @{"ARexx" link "AREXX" 0} features.
No other extra libraries, or files are required.
Totally system freindly...no hacks, patches, etc...
@{u}ClipBoard Enhancer@{uu} is still the @{b}ONLY@{ub} clipboard history program that keeps a
"permanent" history without adding unnecessary files to your hard drive.
!!NOTE: If you assign CLIPS: to your hard drive, I would suggest using a
disk caching program of some sort. This will eliminate disk access
while searching through the clipboard's contents. I would highly
suggest using a cache program anyway, as it can give totally new
life to your system performance all around.
@endnode
@node "Installation" "Installation"
@{b}Installation@{ub}
Just drag the CBE icon to any drawer, or copy CBE to the directory where you
wish it to run from. The best place for this of course is the WBStartup
directory on your boot drive.
You may wish to install the ARexx scripts to your REXX: directory, but the
included files are more for example than any real practical purpose.
No additional libraries or handlers are required.
You will most likely want to change the icon @{"tooltypes" link "ToolTypes" 0} though.
When you register, place the KeyFile in the L: directory, or anyplace you
chose, and set the @{"KEY_NAME" link "Tooltypes" 25} tooltype to find it.
@endnode
@node "Usage" "Using CBE"
@{b}Using CBE@{ub}
Using CBE to recall previous pieces of clipboard data is very easy. The
following is a more detailed description of CBE's features and how to make them
work.
@{" The main Window " link "Usage_Notice" 0} @{" Updating the display " link "Usage_Update" 0}
@{" Recalling clips " link "Usage_Recall" 0} @{" Closing CBE's window " link "Usage_Close" 0}
@{" Jumping screens " link "Usage_JumpButton" 0} @{" ARexx support " link "Usage_ARexx" 0}
@{" Viewing a clip " link "Usage_View" 0} @{" Iconifying " link "Usage_Iconify" 0}
@{" Clearing items " link "Usage_Clear" 0} @{" Autoinsertting data " link "Usage_AutoInsert" 0}
@{" Free/Lock button " link "Usage_FreeLock" 0} @{" Open/Save files " link "Usage_OpenSave" 0}
@{" SaveLock funtcion " link "Usage_SaveLock" 0} @{" Displaying CTRL chars" link "Usage_ShowCTRL" 0}
@{" Paste next/prev " link "PasteNextPrev" 0} @{" Sizing CBE's window " link "Sizing" 0}
@{" DataTypes Display " link "Usage_DataTypes" 0}
@endnode
@node "Sizing" "Sizing CBE's Window"
@{b}Sizing CBE's Window@{ub}
CBE will allow you to size it's window, if you have the @{"SIZEABLE" link "ToolTypes" 60 }
tooltype set to YES. CBE has a size limit based on the number of lines
in the ListView display. The listview may have no less than 4 lines, and
no more than 255. You also may display no less that 15 characters across
and no more than 128.
One small note. CBE will try to keep the minimum width as to allow the
text in the gadgets to be visible without being overwritten by the
gadget rendering. This means CBE's minimum size may not be quite what
you may have expected, if the screen font is much larger than that used
in the listview display. In fact, CBE will resize itself to keep the
gadget text un-disturbed. (Some fonts lead to better results than
others.) This can be slightly disturbing if you change screens that
have a larger screen font than the one CBE just came from.
These values are for the display only. The actual clipboard contents
are not effected by these limits of course.
CBE's window will resize in one of two fashions.
First, it will stay the size you make it (within it's limits) but since
the gadgets only size in increments based upon font size. This can leave
some blank space between the gadgets edges and the window borders.
Second, the window will shrink to fit around the gadgets so that there
is none of the blank space. This tends to give an anoying flickering
effect as the window resizes itself.
Set the tooltyps @{"SLOPPYSIZE" link "ToolTypes" 60}=YES to size in the first fashion. Set to NO
if you want a neat looking window.
I personally find the exrta resizing annoying, but some people would
rather have pretty looking windows...lemme know what ya think.
@endnode
@node "Usage_Notice" "Usage_Notice"
@toc "Usage"
@{b}CBE's main interface@{ub}
What you probably notice first is the large ListView gadget
containing the clipboard data.
As you Cut or Copy data from another program like @{u}CygnusEd@{uu}, or @{u}Final@{uu}
@{u}Writer@{uu}, you will see that the data you just clipped will be added to
the displayed at the bottom of the listview box.
You may scroll through the review list by using the scrollbar, by
dragging the mouse up or down off the top or bottom of the box, or by
using the cursor keys. Holding the SHIFT keys down with the cursor
keys will move the selection bar up/down one window full of items.
If you have not yet used the clipboard device since you booted up your
machine, no data will exists in clipboard unit 0. In this case, no item
will be selected in the listview box. You may select an old item (if any)
by selecting one with the mouse. You may also use the up/down arrows, as
these will select the top or bottom item in the list.
If CBE is in DataTypes mode, it will display in highlighted text,
"Active unit is Empty."
The first time you use CBE, the listview box will of course be empty,
since (more than likely) nothing has saved clips to another device unit
but unit 0.
If CBE is in dataTypes mode, it will display in highlighted text,
"Clipboard is Empty."
@{fg highlight}NOTE: See @{"Weird Things Bugs" link Weird } for info on KS2.04 and the cursor keys.
@{fg text}
CygnusEd
1989-1992 CysgusSoft Software
Final Writer
1993 Softwood, Inc@{fg highlight}
@endnode
@node "Usage_Recall" "Usage_Recall"
@toc "Usage"
@{b} Recalling data from CBE@{ub}
To recall a previous clip to allow you to paste it back into an
application, just select any item in the list and paste as normal.
Pretty simple eh?
@endnode
@node "Usage_JumpButton" "Usage_JumpButton"
@toc "Usage"
@{b}Jumping between screens.@{ub}
Under the scroll-bar of the Listview box you will see a [@{b}J@{ub}]
button. This allows you to make the CBE window 'jump' to the next screen,
and bring that screen to the front.
This button functions slightly different depending if you have turned on
the ToolType @{"USEFRONTSCREEN" link "ToolTypes" 0}.
With the USEFRONTSCREEN tooltype, you are allowed to Jump to @{u}any@{uu}
screen that may be open. Otherwise, CBE will only jump between public
screens. The documentation for jumping between Public screens defines no
specific ordering for the screens, so if a different screen should appear
than what you expected, perhaps a new version of the OS will fix the
"problem". @{b}@{fg highlight}
!!NOTE: The USEFRONTSCREEN is not a system friendly
option. See the @{"ToolTypes" link "ToolTypes" 0} section for more
info. Jump is always perfectly SAFE if USEFRONTSCREEN=NO.
@endnode
@node "Usage_View" "Usage_View"
@toc "Usage"
@{b}Viewing clipped data@{ub}
The "@{b}VIEW@{ub}" button allows you to see what is contained in the
selected unit.
The Listview displays only a part of the data actually contained in the
ClipBoard history. If there is more data in the clipboard than is dis-
played in the listview, the last character will be shown as a '
You can view the data by pressing the [VIEW] button, or by
double-clicking the item with the mouse (if you have the @{"DOUBLECLICK" link "ToolTypes" 50}
tooltype set accordingly).
MultiView is capable of automatically displaying text, images,
or even playing sounds. Use the Tool Types @{"TXTVIEW" link "ToolTypes" 0}, @{"GFXVIEW" link "ToolTypes" 0},
and @{"SNDPLAY" link "ToolTypes" 0} if you do not have MultiView.
The line displayed in the listview box contains a limited part of
the clipboard's data as well as the IFF type specification for
that unit. This will normally be FTXT for a text clip. But it
may display ILBM, or 8SVX and possibly others. The latter may
just have a file name in the display, so some form of 'viewing'
is needed to know exactly what is there. ILBM clips may display
"ILBM: W:xx H:xx D:xx" for width, height, depth info, sounds may
display "8SVX:smpl/s xxxx" if no NAME is found.
@{u}Final Writer@{uu} clips are displayed as object types only. CEB will not
do extensive analysis on these types, but the info gives a better idea
of what is there. So you may see "SWRT:BEVELED BOX", or "SWRT:TEXT BLOCK"
when clipping items. Objects for Release 2 are supported.
Viewing is done asynchronously, so you may view as many units as
memory allows. Viewing a clipped item depends soley on the viewers ability
to display the types clipped. e.g. Nothing I know can display object from
Final Writer, except for Final Writer of course.
MultiView will pop up on the public screen set by @{"PUBSCREEN," link "ToolTypes" 0} else on
Workbench. If you have @{"USEFRONTSCREEN" link "ToolTypes" 0}=NO, and have @{"jumped" link "Usage_JumpButton" 0} to another
public screen, MultiView will open on the same screen on which CBE is
sitting.
You will probably find that Multiview is no longer neccessary if
you use the dataTypes mode.
Final Writer
1993 Softwood, Inc
@endnode
@node "Usage_Clear" "Usage_Clear"
@toc "Usage"
@{b}Clearing item(s)@{ub}
The @{b}CLEAR@{ub} button allows you to empty the selected clipboard unit.
Holding down the shift key will bring up a requester asking if you want
clear ALL units, or just the FREE (unlocked) units. These functions are
identicle to the coresponding menu selections.
The 'C' and 'DEL' keys have the same effect as clicking the CELAR button.
@endnode
@node "Usage_FreeLock" "Usage_FreeLock"
@toc "Usage"
@{b}The Free/Lock gadget. Keeping items "permanently".@{ub}
The Free/Lock cycle button allows the user to Lock or unlock any
unit in the review list. Locking a unit will keep CBE from
selecting that unit for normal review storage. Under normal
use, this unit will no longer be changed. The @{"Reserved Key" link "ReservedKeys" 0} units
start out locked. Freeing a unit will allow it to be unused when
needed to store clipboard review history data.
Locked units are signified by a '-' between the IFF specifier,
and the clipboard data. Else a ':' is displayed.
Reserved keys units are signified with a '='. If you unlock then try
to re-lock this unit, only a '-' will be displayed. Use the @{"Update" link "Usage_Update" 0}
button to reset the reserved key status.
See warnings/notes under @{"Reserved Keys" link "ReservedKeys" 0}.
@endnode
@node "Usage_SaveLock" "Usage_SaveLock"
@toc "Usage"
@{b}SaveLock function@{ub}
@{"SaveLocks" link "ToolTypes" 0} ToolType added. If set to 'YES', the lock
on the current units will be saved, and will exist the next time CBE
is run, even after power is turned off. This works by setting the comment
on the files in 'CLIPS:' so if you want this feature to work fully, you
must assign 'CLIPS:' to a disk or hard drive. (Doesn't really make sense
to save locks if the data being locked is not kept, does it.)
@endnode
@node "Usage_Update" "Usage_Update"
@toc "Usage"
@{b}Updating the display@{ub}
The Update button will free, and re-read all the clipboard review
data to make the display current.
CBE does not listen for changes on every clipboard unit available to
the system, so it is possible for another program to alter the
clipboard data of another unit (number 5 for example), and CBE
will never know the data changed, so the review list will not
change. You can use Update to see this new data.
!!Note: The system clipboard.device saves all clipboard units
1-255 to disk. These files are saved in the logically
assigned directory "CLIPS:". This is worth noting in case
you were to clip a large section of 24 bit ILBM data for
example. This is a lot of data to keep on disk.
Normally the s:Startup-sequence assigns this to RAM:
If you assign CLIPS: to disk, these pieces of data will be
there for you again, even after you re-boot the system.
If you choose to delete any of the files from this directory,
rather than @{"CLEARing" link "Usage_Clear" 0} it you would want to press Update to reflect
those changes.
@endnode
@node "Usage_Close" "Usage_Close"
@toc "Usage"
@{b} Closing CBE's window@{ub}
Pressing the Window's close gadget or by pressing the [ESC] key
will hide CBE's window. You may bring up the window again by pressing
the hot key. Even though the window is not displayed, CBE keeps
track of all new Cut/Copy actions.
@endnode
@node "Usage_ARexx" "Usage_ARexx"
@toc "Usage"
@{b}CBE does ARexx@{ub}
CBE has an @{"ARexx" link "ARexx" 0} port for more advanced system usage.
See the @{"ARexx" link "ARexx" 0} section for full usage instructions.
@endnode
@node "Usage_Iconify" "Usage_Iconify"
@toc "Usage"
@{b}Iconifying CBE's window@{ub}
Now CBE can zoom down to a tiny window by use of the ZOOM gadget in the
title bar. Note that ALL features of CBE still function. You can use the
cursor keys to select a Clipboard unit and View or even Clear it from the
keyboard, although you will of course not be able to see what you are
doing.
See the ZOOM specific @{"Tooltypes" link "ToolTypes" 0} for important info.
@endnode
@node "Usage_AutoInsert" "Usage_AutoInsert"
@toc "Usage"
@{b}Using CBE to insert data for you@{ub}
Auto Insert automatically Pastes the current item into the previously
active window.
You may use Auto Insert by either pressing the [RETURN] key, or by double
clicking on the item in the ListView area. (If the DOUBLECLICK tooltype
is set to PASTE).
The ONPASTE tooltype is used to determine if CBE will close it's window
after pasting, or if it will stay open. If CBE keeps it's window open,
it will activate the window that was open before CBE's window opened,
paste the clip there, and then reactivate itself 1/2 second later.
@endnode
@node "Usage_OpenSave" "Usage_OpenSave"
@toc "Usage"
@{b}Loading and saving clipboard data@{ub}
Open and Save allow you to load an item into the clipboard, or save the
clipboard to a file. Since all clipboard data are stored internally as IFF
data, text will be saved as plain text with no IFF information contained
within it. Images, sounds, and other data will be saved AS-IS directly
from the clipboard.
NOTE: If you Open any file that is not in an IFF format, CBE will add it as
an BNRY clip. This includes files such as GIF's, WAV files, etc.
CBE will not try to figure out what kind of file you loaded.
(Saving as a file, will leave the data unaltered from the original.)
Open and Save do nothing in the @{"unregistered" link "Register" 0} version.
@endnode
@node "Usage_ShowCTRL" "Usage_ShowCTRL"
@toc "Usage"
@{b}Displaying "unprintable" characters@{ub}
The @{"SHOWCTRL" link "ToolTypes" 0} tooltype will allow you to display the control codes within
the clip data. Most fonts do not have definitions for characters 01-31 so
the default is to change these characters to decimal points. If your system
font can display control codes you may set this to YES.
@endnode
@node "Usage_DataTypes" "Usage_DataTypes"
@{b}Display clipboard data using DataTypes@{ub}
For those with Amigas using KS3.0 or above, CBE may display the actual
clipboard data within it's own window. This function requires the use
of the DataTypes.
You may tell CBE to use DataTypes by either setting the @{"USEDATATYPES" link "ToolTypes" 75}
tooltype, or by activating from the "Extras" menu.
This does not necessarily mean that CBE will be able to display
GIF's and JPEGs and other odd file types. Remember, because the
clipboard must have all data stored in an IFF format, If you were
to load a non-IFF formated file, CBE will add an FTXT file header
so that it may be pasted or saved in it's original form.
Datatypes will not recognize these clips as anything but text.
You should however see all text from such clips as from Final Writer,
or from PageStream 3.0 and any program that writes text to the clipboard.
If the data type is not of your basic 8SVX, ILBM, or FTXT types,
CBE will show "Unknown DataType:" and display a line as it would
have appeared in the ListView mode. This gives some idea of what
exists there.
Also note, that the datatype itself reacts to mouse button clicks,
so double clicking on the item when in Datatypes mode, will not
work as when in the ListView mode. e.i. CBE will not cause the item
to be pasted, nor will it execute the "View" programs.
@endnode
@node "ToolTypes" "ToolTypes"
@{b}Tool Types@{ub}
The following tooltypes may be entered into CBE's icon info, or
they may be used from the CLI/Shell. When entering parameters
from the shell, remember any arguments with spaces MUST be
surrounded by double quotes (").
e.g. CBE TOPUNIT=5 "CX_COPY1=lalt ctrl c"
CX_POPKEY - Key used for HotKey to pop window up or to front.
If USEFRONTSCREEN is set to YES, CBE will open on
the frontmost screen. If not, CBE will open on
it's previous public screen, and bring that one to
the front.
CX_POPUP - Should interface window open on start. (YES/NO)
CX_PRIORITY - Priority for input-event processing. (default -5)
WINTOP - Top edge for Window. -1 for center on mouse. (default -1)
WINLEFT - Left edge for window. -1 for center on mouse. (default -1)
ZOOMTOP \\ Where to put window when ZOOM gadget is pressed.
ZOOMLEFT / -1=Zoom at current position. (Zoom to Open position on
KS2.04)
FIRSTUNIT - First clipboard unit to use for history. (default 1)
MAXUNITS - Number of units used for review buffer. (default 30)
DEFVIEW - Default viewer. Internal default is set to "MultiView",
you may now change this to use your viewing program.
TXTVIEW - Full path name of file for
GFXVIEW - you own text, graphics and
SNDPLAY - sound viewers/players.
LISTLINES - Number of lines to display in Listview. (4 thru 255)
LISTWIDTH - Number of characters wide for ListView. (16 thru 128)
CX_COPY1...CX_COPY10 \\ @{"Keys" link "ReservedKeys" 0} to use to copy or paste to/from
CX_PASTE1..CX_PASTE10 / reserved clipboard units.
SAVEDIR - Default directory for saving clips to.
OPENDIR - Default directory for loading clip data from.
SAVELOCKS - Will keep locks even after power down...if 'CLIPS:' is
assigned to disk. (Default=NO)
PASTE_NEXT - Select next clip, then paste.
PASTE_PREV - Select previous clip, then paste.
PUBSCREEN - Name of public screen for CBE to pop up on. Workbench as
default. This also tells where to open MultiView.
(Even if USEFRONTSCREEN is used)
USEFRONTSCREEN - Will open CBE on the front most screen rather than
always on the default Public screen. (YES/NO)
YES for this tooltype takes precedence over PUBSCRNAME.
SHOWCTRL - YES will show CTRL codes, NO will show '.'(dots) in the
list. Character '\0" will always be displayed as a
'
'(bullet). This will normally only happen for unknown
IFF types.
OPENSMALL - The first time CBE's window opens, it will be in the small
zoomed mode.
KEY_NAME - Key file name. This will enable CBE to be fully
functional. A non-existent or invalid keyfile will
leave CBE to function as if unregistered.
SIZEABLE - Choose if you want the sizing gadget or not. (YES/NO)
SLOPPYSIZE - Do you want ugly space, or NO if you want neat window.
USEDATATYPES- Sets CBE's default display to using datatypes. (YES/NO)
Only works with KS 3.0 or greater.
DOUBLECLICK - Do you want to Paste the clip, or View it when the
item is double clicked. (PASTE/VIEW)
ONPASTE - After pressing RETURN, or double clicking (if DOUBLECLICK =
PASTE), CBE can CLOSE its window, or STAY open. (CLOSE/STAY)
!!NOTE: USEFRONTSCREEN is NOT a system friendly method of doing
things. You may cause system problems if you close a screen that
CBE is open on. YOU HAVE BEEN WARNED.
ZOOM gadgets work slightly different under KS3.x than KS2.x.
Under KS3.x, if you specify a -1 for ZOOMTOP/ZOOMLEFT, the window
will shrink down at the window's current location. Under 2.x,
this feature does not exist, so the ZOOM gadget shrinks the
window to it's starting position.
DEFVIEW will allow you to change the default viewer, but since
you can not add command line parameters, it may be unable to
appear on your current or specified PUBSCREEN settings.
@endnode
@node "MENU" "Menu Items"
@{b}Menu Items@{ub}
ABOUT
Displays the ABOUT requester. This will tell who CBE is registered
to (if anyone), will show the hot key used to bring up CBE's window,
as well as the Public Screen name that CBE is to appear on, and
will also show the number of clipboard units used.
Open
Allows the user to open any file and place it into the clipboard.
Disabled in Unregistered version.
Save
Allows the user to save the current item as a file.
Disabled in Unregistered version.
Hide
Hides the window.
Quit
Quits CBE. Brings up a requester to verify your choice.
Clear ALL, Clear FREE, Clear UNIT 0
Allows the user to clear CBE's history. ALL and FREE allow you to clear
each and every clipboard unit in the history, or just those that are not
locked. Both of these will also clear clipboard Unit 0.
UNIT 0 will allow you to clear ONLY clipboard unit 0...the history
buffers are not effected.
Jump Screen
Move CBE window to the next screen, and bring that screen to the front.
Update
Free CBE history buffer, and re-read all clipboard units.
Use DataTypes
For those with KS 3.0 or greater, CBE will actually display the current
active clipboard item in it's own window without the use of external
viewers.
@endnode
@node "ARexx" "ARexx support"
@{b}ARexx support@{ub}
CBE has ARexx support, as all software should by now. The portname is:
@{fg highlight}CBERexx.1@{fg text}
This ARexx support functions are rather simplistic, but gives the
user the capability to do anything he/she can do from the user
interface.
(<> denote required arguments, and [] denote optional arguments.)
@{b}QUIT@{ub}
No parameter are given. CBE will simply clean up and exit.
@{b}LOCK@{ub} [item] : item = 1 though MAXUNITS.
Sets the lock on the currently selected item.
If [item] is given, the specified item will have it's lock set.
[item] is relative to the displayed data.
@{b}FREE@{ub} [item] : item = 1 though MAXUNITS.
Frees the lock on the currently selected item.
If [item] is given, the specified item will have it's lock freed.
[item] is relative to the displayed data.
@{b}SELECT@{ub} <item> : item = 1 though MAXUNITS
Makes the specified item the currently selected item.
<item> is required.
<item> is relative to the displayed data in the listview.
@{b}VIEW@{ub} [item] : item = 1 through MAXUNITS
Views the currently selected item
If [item] is given, the specified item will be viewed.
[item] is relative to the displayed data.
@{b}UPDATE@{ub}
Same as selecting the update button. UPDATE will free and
re-read all clipboard data.
@{b}INACTIVE@{ub}
Will deactivate CBE's commodity key input features. These include
The reserved keys, and hotkey window popup. CBE will also not listen
for changes inn the clipboard, so the list will not change.
You are still allowed to use the GUI, and paste from the items in
the review list. Same as INACTIVE from Commodities Exchange.
@{b}ACTIVE@{ub}
Will make CBE active again. Same as ACTIVE in commodities Exchange.
@{b}COPY@{ub} [key num] : 1-10 (or as many keys defined).
Copy will simply send an [RAMIGA-c] to the system. If [key num] is
Specified, CBE will copy the data into the specified reserved key
number.
@{b}PASTE@{ub} [key num] : 1-10 (or as many keys defined).
This will paste the current contents to the active clipboard
unit by sending an [RAMIGA-v] to the system.
If [key num] is given, the specified reserved key number will have it's
data copied to clipboard unit 0 before the [RAMIGA-v] is given.
!!NOTE: PASTE will ALWAYS paste from what is in unit 0. Remember the
reserved keys sequence first copies it's data into unit 0. If
simply do a PASTE again with NO unit specifier, the same data
from the reserved key will be pasted again. This offers some
speed increase, but also possible confusion as you really do
not know what might be in unit 0 at any given time this way.
WINDOW <SHOW | HIDE | JUMP>
If the USEFRONTSCREEN tooltype is set to YES,
SHOW will bring the window to the front of the frontmost screen. The
window will be opened if needed. If USEFRONTSCREEN is set to NO, CBE will
open on it's previously used public screen.
HIDE will close CBE's window, but leave the main program active.
JUMP will force the window onto the next screen.
If USEFRONTSCREEN is set to YES, be sure to Use only when necessary,
remember this is NOT a nice thing to do to the system. Although no damage
is caused from normal operation, the danger comes in when a screen tries
closing when it does not know about CBE being there. The result of this
action can range from keeping a screen open permanently to a system crash.
@{i}JUMP is perfectly safe if USEFRONTSCREEN=NO@{ui}.
CLEAR [item | FREE | ALL]
Clears the currently selected item. If item is given, the
specified item will be cleared. [item] is as above in VIEW, etc...
FREE will clear all non-locked items.
ALL will free every item in the review list.
OPEN [filename]
Loads any file into the clipboard. A file requester will be displayed
if no file name is given.
SAVE [filename]
Saves the selected item to disk. A file requester will be displayed
if no file name is given.
ISLOCKED [item]
Returns 1 if the selected item has it's LOCKed flag set. If [item]
is given, the result is based on the item number given.
1 = locked, 0 = free.
NUMCLIPS{ub}
Returns how many items are currently in the clips history buffer.
A simple ARexx script has been included merely to allow the user to test these
features.
CBERexx.rx:
=-------- cut here -----------------=
/* CBE ARexx port tester */
PARSE ARG CBEcmd
ADDRESS CBERexx.1 CBEcmd
=-------- cut here -----------------=
Example Usage: rx CBERexx.rx WINDOW HIDE
!!NOTE: One simple note to ARexx programming. There is no locking
mechanism through the Amiga system for the clipboard device.
What I mean is, just because you may do a COPY command and
immediately follow it with a PASTE command, there is no 100%
guarantee that the data will remain the same. This is really
only a concern if some one does not know what is going on,
and they can clip data REALLY, REALLY fast.
@endnode
@node "PasteNextPrev" "Paste and Select Next/Previous"
@toc "Usage"
@{b}Paste and Select Next/Previous@{ub}
Along with the ability to merely paste the current item in the
clipboard, you may now paste a series of items previously sent to it. If
you press the hotkey for @{"PASTE_NEXT," link "ToolTypes" 0} CBE will
advance the item pointer to the next clip in the history list, the paste
it. Pressing the hotkey for @{"PASTE_PREV" link "ToolTypes" 0} select the
previously clipped item, then paste it.
E.g: Lets say you clipped the individual words "Only " "Amiga " "Makes "
"It " "Possible!". Select item "Only", and press <RAMIGA v> to paste the
word "ONLY", then the hotkey for PASTE_NEXT a few times. You will get:
"Only Amiga Makes It Possible!"
If you now press the hotkey for PASTE_PREV, you will get:
"Possible! It Makes Amiga Only"
Another possibility (and a better real-life example) would be
Cutting/Copying a list of names from a mailing list. Lets say you have a
list of names in one file, and you want to create labels using your
favorite word processor. You could clip one name, switch windows, then
paste it, switch windows back, clip the next name, switch windows again and
paste that one, etc...but you will soon get tired and possibly dizzy.:-)
So try this instead. Go to the file with all the names, and just go down
the list and cut/copy each one. Now go to the word processor, and use the
PASTE_PREV key and insert each name into each label. WOW! You never even
had to open CBE's window! And most of all, no switching back and forth
between lists.
Note: If you hold down the hotkey for either of the above, the key
repeat only advances the selected item for the first downstroke,
and the first repeat, there after it will paste the same item.
Simply use individual keystrokes for each paste. This is due to the
way that the OS handles Commodities key board events, not to CBE.
@endnode
@node "ReservedKeys" "Reserved keys"
@{b}Reserved Keys@{ub}
You may reserve up to 10 clipboard units for the use of quick access key
cut/copy/paste actions.
As defaults, the function keys are used for these reserved keys" You must use
the @{"ToolTypes" link "ToolTypes" 0} to assign keys to any, all 10, (or none) of the units. If you
set a COPY key, you must set PASTE KEY for the same number. Failure to do so
will eliminate the use of both functions for either key without a matching
Copy/Paste key @{"ToolTypes" link "ToolTypes" 0}.
All reserved keys reserve the last allowed clipboard units. These may move
depending on user actions, but the data will not be affected by normal copy
actions due to the locking feature of CBE. If you unlock any of the reserved
key units, the data stored there may be changed when another cut/copy action
takes place.
To use the reserved keys, just highlight the data in any application that you
want to copy. (Do this in the normal way for the application in use). When you
press (default as an example...) [lalt shift f1], the data will be copied into
the active clipboard unit and it will also be copied into the review list as
normal.
i.e. You have 5 keys reserved, f1-f5 with SHIFT ALT for Copy actions, and
lets say just for S&G's you have f6-f10 with the same qualifiers for Paste
actions. Go to you application (CygnusEd is good), highlight some text, and do
[RAMIGA-c]. Do this a few times while CBE's window is visible. You will see
the list change with each copy action. Now highlight some text and press your
[shift alt f4] key combination you will see a new item at the bottom of the
display. This item will also have the '=' lock character showing it to be used
by one of the reserved keys.
You may now do [RAMIGA-v] to paste as normal or [alt shift f9] to paste the
data back. (Note f9 corresponded with the f4 above). Now highlight and clip
text the normal way using [RAMIGA-c], and you will see the 'Free' part of the
review list change, but your reserved key does not change. Now you may press
[alt shift f9] and paste that reserved data back. Pretty nifty eh? You may now
paste this item as you would any other. This is handy for custom Copy/Paste
operations using A@{"Rexx " link "ARexx" 0}from another application I suppose.
The following are valid qualifiers and keys Just as for HotKeys:
lshift rshift shift (Left right, or either shift key)
lcommand rcommand (Left or right Amiga keys)
lalt ralt alt (Left, right, or either Alt key)
capslock caps (Capslock key, or ANY shift/capslock)
ctlr (CTRL key)
leftbutton midbutton rbutton (Mouse buttons)
The following keys as well as any normal keyboard keys are valid:
space backspace tab enter
return esc del up down left ( other misc keys )
right f1...f10 help
You may be wondering exactly why CBE requires an application that uses
clipboard unit number 0 to work properly. The reason is simple in that all CBE
does is set what are called "Call-back hooks" in the system for Clipboard unit
0, so it "hears" all Cut/Copy actions to that clipboard unit. Also the reserved
keys simply send a [RAMIGA-c] to the system. This does a generic Copy command,
then CBE will copy this data into the specified unit for that key.
For pasting just the opposite is done. CBE will copy the data from the
selected reserved key into clipboard unit 0, then CBE will send an [RAMIGA-v]
key sequence, thus pasting the data to your application.
Pretty simple isn't it. Now why wasn't this done years ago??!!??!!
OK, so you now have a program such as PowerSnap/SnapIt, or even Terminus.
These programs copy the data without you needing to hit [RAMIGA-c]. In fact you
cannot even if you wanted to since they clip data directly to the clipboard
without your help. So, does CBE's reserved keys work with these programs? Of
course, but you must do things in a slightly different way.... Normally you
highlight the text, then press the key combination to Copy the data. Well since
there is no time allowed for you to do this, simply press the reserved key
sequence BEFORE you highlight or box the text from these programs. If nothing
is available for the clipboard when a copy command is sent, the system will wait
until something is sent to the clipboard device. CBE will then intercept this
and put the data into the correct slot.
I wish I could take credit for this, but it is a fine side effect of the
clipboard device itself.
@endnode
@node "Weird" "Weird Things/Bug List"
@{b}Weird things / Bug list@{ub}
This version of CBE has no bugs that I am aware of. All "bugs" have been
eliminated or worked around safely.
GadTools has a slight bug when creatig Scroller gadgets. If the programmer
wants the button to represent only one object in a list, GadTools goes a
bit nuts. It will not display the button in the correct size, and the user
will also be unable to move the button by clicking on either side of it.
Minumum size is 2. This only effected those using UseDataTypes mode,
and was the reason I used a wimpy SLIDER (no arrows) gadget before.
I easy worked arond this, but it took a lucky guesse to find the problem.
When using the cursor keys with KS2.04, the ListView does not scroll
it's contents when the selected item goes out of view. Also, this
version of the OS does not highlight it's current item, but instead
creates a string box at the bottom of the display. This has the effect
of displaying only LISTLINES-2 lines in the display.
I used to disable the cursor keys for KS < 3.0, but decided to allow
their use for lower OS versions anyway. The cursor keys work as expected
with KS3.0 and above.
It seems that Terminus does not correctly read the input stream.
If you AutoInsert data from CBE to Terminus's window, it thinks
that a SHIFT-AMIGA-V was done, and will insert the Quote String
as well as your data. I definitely use a lowercase 'v' in my code.
CBE says my FTXT clip is an "Unknown DataType"! WHY?
Well, it probably consists of only NULL characters. This is a limitation
of the Text datatype which tells CBE it is an unknown type.
Please report any bugs, enforcer or mungwall hits, etc... I need your help to
make CBE the best possible program for all users. Any suggestions for
appearance, or usefulness are always welcome.
CBE has been tested on:
A1200/030 OS3.0
A3000/030 OS2.04
A1200/020 OS3.0
A2000/020 OS2.1
A4000/040 OS3.1
A4000/030ec OS3.1
A1000/010 OS2.1
CBE was created on:
A1200 w/ CSA's 12-Gauge 50MHz 68030/68882 with 8M Fast RAM,
530M of HD space, external 880K floppy, internal 1440K
floppy, Chinon-535 CD-ROM, Archive-Viper tape backup unit,
Supra 28.8 modem, HP500 DeskJet,
...blah, blah, blah...
and was written in C and assembly using CygnusEd 3.5, and compiled with
SAS/C 6.55, nearly a case of Mt. Dew each day, a lot of pizzas, a lot of
chocolate, and very little sleep.
Please help support my chocolate addiction. :-)
CBE.guide was created using CygnusEd 3.5, and edited using Heddley
(Heddly is written by Ed Dumbill).
@endnode
@node "Revisions" "Revisions"
@{b}Revisions: ( '-' =Bug fixes, '+' =Additions or improvements. )@{ub}
@{u}Vers:@{uu} @{u}Rel. Date:@{uu} @{u}Improvments: @{uu}
V4.02(04-NOV-95)+Disables multitasking during PASTE so that SUNMOUSE
emulations do not cause CBE to paste to the wrong
window.
V4.01(27-AUG-95)+Worked around @{"bug" link "Weird"} found in GadTools Scroller gadget.
Replaced slider with scroller gadget (inclues arrows).
Also moved the scroller gadget to the side for ethetics,
and lessen confusion.
+Added @{"ONPASTE" link "ToolTypes" 50} tooltype. You may now leave CBE's window
open after using the Autopaste feature.
V4.0a(05-AUG-95)+The slider gadget for UseDataTypes mode had it's height set
the same as the scroller's width for the text ListView.
This caused it to be disproportionally high for those using
smaller text. It now has the same height as the gadgets
using the screen font. Height will not be larger than the
width of the ListView scroller.
V4.00(10-JUL-95)+Now uses @{"Datatypes" link "Usage_DataTypes" 0} (if KS3.0 or above is present)
to display actual clipboard data within CBE's
own window. Set default, or change using the @{"menu" link "MENU"}.
+Added @{"DOUBLECLICK" link "ToolTypes" 50} tooltype. Can Paste or View now.
+Loading of binary files no longer labeld as FTXT,
they are now labeled as BNRY.
+Changed Minimum list size from 3 to 4 lines.
Needed to display datatypes message.
V3.11(Never publicly released)
(18-MAR-95)+Use SHIFT with CLEAR gadget to bring up a requester
asking if you want to clear all units.
+Can also use DEL key to clear a clip.
Monitor died...no work done for three months :-(
(25-JUN-95)-Found a problem when UnKnown clip types were
encountered. This only happened when CBE's
window was SIZEABLE, or set to very large sizes.
V3.10(25-Feb-95)-Damn! Missed a FreeGadget() lost memory when resizing.
Only effected pre-release versions prior to 25-FEB-95.
(21-Feb-95)+CBE's window is now sizeable!! Use the @{"SIZEABLE" link "ToolTypes" 60 } tooltype.
V3.09(06-Jan-95)+No longer displays requester when CLEAR is double clicked.
(Just use the menus to do the extended clear functions.)
+CBE lets you know who the Keyfile Error messege is from.
+Now displays object type for @{"FinalWriter" link "Usage_View" 50} clips.
+May now open window in small (zoomed) mode.
Use @{"OPENSMALL" link "ToolTypes" 35} tooltype to start small.
+CBE will now stay in zoomed mode between closing and
opening of its window. Effects Jump and Hide/Open.
+Removed duplicate reading of clip if already activated in
the ListView window.
+Cleaned up and removed some redudant code.
+Added '?' help option for Shell users.
V3.08(25-Nov-94)+Now uses @{"key file" link "KeyFile" 0} for registered users.
+PASTE_NEXT/PASTE_PREV now works in a more sensible manner.
CBE will move to the next/prev unit before pasting.
+Better IFF parsing to find text, and other info.
-Somehow everyone missed that the menu item for Jump was
disabled. It is now enabled as it should be.
+Added @{"DefView" link "ToolTypes" 0} tooltype.
V3.06(22-Oct-94)+Since if no data exists in clipboard unit zero, no item is
highlighted in the listview window, so using the arrow keys
will now select either the first or last item in the list.
No more grabbing for the mouse for first time selections.
+CBE now reads old clipboard units oldest to newest.
i.e. If the last clipboard unit used was #1, and you did
UPDATE the next one to be dumped would be #1. This meant
you lost what you just clipped. Now clips are loaded and
sorted on the time they are saved to the CLIPS: directory
and read back in the same order. So now a true FIFO queue
is in place...even after reboot (If CLIPS: is assigned to
disk of course).
-V3.5 AmigaGuide document inadvertently had some of it's
space characters turned into ALT-SPACE. Fixed.
+Added @{"Paste/Select-previous/next" link "PasteNextPrev" 0} feature.
V3.05(06-Oct-94)-The CANCEL selection was ignored for Open/Save.
Would open/save anyway. (For those who could Open/Save.)
+Added info to ABOUT window for number of clips in use.
+Updated docs again. Hopefully easier to read.
+Now allow KS2.04 users to use the cursor keys to select
items from the display box. See @{"Weird things/Bugs" link "Weird" 0}.
V3.04(03-Oct-94)+Better size checking of clip display. No longer prints '
if the clipped data is exact size of list view.
+Display more useful info for IFF data.
If any text exists (CHRS chunk) within a clip, it's
data is displayed. (Final Writer clips are now shown
to some extent. Other may be as well.)
Graphical and audio clips will be searched for NAME chunk,
and that name will be displayed in the list view. If no
name can be found, the samples/sec will be displayed for
sounds. Width/height/depth will be displayed for graphic
clips. Unknown clip types will display the clip type, and
attempt to display the first bytes of data as CBE did
previously.
+Slight enhancement and additions to ARexx features.
+Jump button now works with Public Screens.
+Pressing SHIFT with arrow keys now implemented. See docs on
using the arrow keys with different OS versions.
+If no data has been clipped to unit 0, CBE will not
show any items as selected anymore. You must first
select an item to put into unit 0.
V3.03(06-Jul-94)+Changed default viewer from "Sys:Utilities/MultiView" to
just "MultiView". Full path no longer specified.
This allows user's own paths to be used.
+Added SHOWCTRL tooltype.
(18-Jun-94)+Pressing the JUMP button will now center the button itself
under the mouse rather than centering the window. Using the
keyboard or menus still centers the window as normal.
(06-May-94)-Window now opens centered on mouse correctly.
+Added SaveLocks feature.
-Fixed Enforcer hit when no OPENDIR/SAVEDIR given.
V3.01a(29-Apr-94)-V3.0/3.1 used a KS V39 function SetWindowPointer()
to set the busy pointer. This no longer happens under
KS less than V39. I still use the 3.0 function for
the operating systems that can handle it.
V3.01(23-Apr-94)+All input now blocked while BUSY pointer is displayed.
+Press [RETURN] to auto HIDE+PASTE.
-Could not clear Unit0 if no items were in the history list.
-If all clips were deleted from CLIPS: and UPDATE was done,
and data still existed in clipboard unit 0, then the
listview box would not display that data. It does now.
V3.00(15-Apr-94) About 75% re-written from scratch.
+Removed empty items from display.
+Removed useless Up/Down/Top/End garbage.
+Selected item is immediately placed in Clipboard Unit 0.
+ToolTypes, GUI, and Menus adhere better to OS2.0 standards.
+Can now chose display height and width.
+MultiView may now be opened on PUBSCREEN.
-Now that the selected item is always placed into clipboard
unit 0, the bug in MultiView no longer causes Enforcer
Hits. (or at least decreases them)
-Enforcer hit when attempting to open on a PUBSCREEN that
does not exist is now fixed.
+Added Busy pointer during requesters, and Update.
V2.4 and below are too obsolete to worry about revision history.
Besides, V3.0 is nearly a total re-write.
@endnode
@node "Thanks" "Thanks"
@{b}I'd like to thank:@{ub}
Jan van den Baard for "GadgetToolsBox",
Jerry Cheung for the CBE icons.
Ed Dumbill for "Heddley" (AmigaGuide editor.)
Nicola Slamoria for near endless patience and suggestions.
Jon Peterson - Many, many corrections and additions are due to the
excellent testing by Jon. Thanks a lot.
All registered users for their support, and many great ideas.
The makers of "Mountain Dew" for keeping me awake.
Trent Reznor, for "PLHM", one of the greatest albums ever produced.
@endnode
@node "To Do" "Things left to do"
@{b}To Do:@{ub}
Any good ideas you suggest... Much of what CBE had become is due
to the suggestions of others.
I beleive I've put pretty much everything that could be of
use into CBE.
@endnode
@node "About the Author" "About the Author"
@{b}How to get in touch with the author:@{ub}
E-mail to: anthonym@beta.inc.net
WWW Homepage: http://www2.inc.net/~anthonym
US Snail: Anthony J. Moringello
2209 E. Park Pl. #4
Milwaukee, WI 53211
USA
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: 2.3a
mQBNAi15ROwAAAECAKG3ihMbC5/1zz9iEWBbgd8NBLDj2/XRhkQIrNU8K4IrW8zd
7PzL+B2oX1YrqUPWMHpZYDx2q2AdDX3I+VCX/n0ABRG0LUFudGhvbnkgSi4gTW9y
aW5nZWxsbyA8YW50aG9ueW1AYmV0YS5pbmMubmV0PokAlQIFEC8ig23++HQI0q1q
QQEBbTsD/1ZmEMPp7dGX48XSMtjCfEXVsxpWsLTquB7VvN45F6ulWJeFCdjbJpzY
icASu5kSVvOdRr3QU6NH8toSPvEZDchASsLLbtBqaR1kqRz1hFPKWUTEtafnE5aU
E1llCmZjD5lFjaOVJw6MyPxnF9ruWduOwSpQvAPyZebTDNBAlGD9tDJBbnRob255
IEogTW9yaW5nZWxsbyA8YW50aG9ueW1AYWxwaGExLmNzZC51d20uZWR1Pg==
=l61Q
-----END PGP PUBLIC KEY BLOCK-----
@endnode
@node "Register" "Registration"
@{b}Registering CBE@{ub}
Registering CBE will get you, the latest version of CBE, and the @{"keyfile" link "KeyFile" 0}
to make all those important functions (listed below) work.
Registered version of CBE will include working Open and Save functions
which allow you to load and save data to and from the clipboard.
The registered version will also not display the about requester when
you attempt to hide the window, or quit CBE...unless you of course select
"About" from the menu.
When you register, please include the following information:
Name (These three items are)
Address (of course required!)
"CBE" - Tell me which program you want.
E-Mail address if any.
Model (A1000, 2000, 3000, 1200, 4000, etc...)
CPU (68000, 020, 030, 040, etc...)
Amount of RAM,
and KS/WB version. (OS2.04, OS3.1, etc...)
These last items are @{u}not@{uu} required, but will help me determine
what changes may be needed to make my program appeal to more users.
@{fg highlight}All information is kept private.@{fg text}
@endnode